36. Visualizzare i modelli di equazioni strutturali#
36.1. Oltre la regressione multipla#
In generale, lo psicologo ha a che fare con diagrammi di percorso nei quali sono presenti variabili non osservabili (latenti) e quindi l’approccio della regressione multipla non può essere applicato. È necessario invece descrivere il diagramma di percorso mediante un insieme di equazioni strutturali, definendo un numero di equazioni almeno altrettanto grande quanto il numero delle incognite. Tale soluzione viene solitamente fornita da un software.
36.1.1. Una seconda applicazione#
Weiss, Forkus, Contractor, e Schick (2018) esaminano con una path analisi la relazione tra la difficiltà di regolare le emozioni positive e l’abuso di alcol e di sostanze.
La difficoltà di regolare le emozioni positive viene misurata con la Difficulties in Emotion Regulation Scale – Positive (DERS-P; Weiss, Gratz, & Lavender, 2015), che comprende le sottoscale di Acceptance, Impulse, e Goals.
L’abuso di sostanze viene misurato con la Drug Abuse Screening Test (DAST; Skinner, 1982).
L’abuso di alcol viene misurato con la Alcohol Use Disorder Identification Test (AUDIT; Saunders, Aasland, Babor, De la Fuente, & Grant, 1993), con le sottoscale di Hazardous Consumption, Dependence, e Consequences.
I dati di un campione di 284 partecipanti sono riportati nella forma di una matrice di correlazione.
lower <- '
1
.38 1
.41 .64 1
.34 .44 .30 1
.29 .12 .27 .06 1
.29 .22 .20 .17 .54 1
.30 .15 .23 .09 .73 .69 1
'
dat_cov <- lavaan::getCov(
lower,
names=c("dmis","con", "dep", "consu", "acc", "goal", "imp"))
print(dat_cov)
dmis con dep consu acc goal imp
dmis 1.00 0.38 0.41 0.34 0.29 0.29 0.30
con 0.38 1.00 0.64 0.44 0.12 0.22 0.15
dep 0.41 0.64 1.00 0.30 0.27 0.20 0.23
consu 0.34 0.44 0.30 1.00 0.06 0.17 0.09
acc 0.29 0.12 0.27 0.06 1.00 0.54 0.73
goal 0.29 0.22 0.20 0.17 0.54 1.00 0.69
imp 0.30 0.15 0.23 0.09 0.73 0.69 1.00
I dati vengono analizzati con due modelli di path analysis. Nel primo modello si ipotizza che la difficoltà di regolare le emozioni positive sia una variabile esogena che influenza sia l’abuso di sostanze sia l’abuso di alcol. Si ipotizza inoltre che abuso di sostanze e abuso di alcol siano correlate.
La difficoltà di regolare le emozioni positive è indicata da drpe; l’abuso di alcolo è denotato da amis; l’abuso di sostanze è denotato da dmis.
mod <- '
drpe =~ NA*acc + goal + imp
amis =~ NA*con + dep + consu
amis ~ drpe
dmis ~ drpe
dmis ~~ amis
drpe ~~ 1*drpe
amis ~~ 1*amis
'
Svolgiamo l’analisi statistica con sem().
fit <- lavaan::sem(mod, sample.cov = dat_cov, sample.nobs = 284)
Esaminiamo i risultati.
summary(fit, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE) |>
print()
lavaan 0.6.16 ended normally after 18 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 16
Number of observations 284
Model Test User Model:
Test statistic 38.211
Degrees of freedom 12
P-value (Chi-square) 0.000
Model Test Baseline Model:
Test statistic 741.324
Degrees of freedom 21
P-value 0.000
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.964
Tucker-Lewis Index (TLI) 0.936
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -2465.787
Loglikelihood unrestricted model (H1) -2446.682
Akaike (AIC) 4963.574
Bayesian (BIC) 5021.958
Sample-size adjusted Bayesian (SABIC) 4971.221
Root Mean Square Error of Approximation:
RMSEA 0.088
90 Percent confidence interval - lower 0.057
90 Percent confidence interval - upper 0.120
P-value H_0: RMSEA <= 0.050 0.023
P-value H_0: RMSEA >= 0.080 0.688
Standardized Root Mean Square Residual:
SRMR 0.046
Parameter Estimates:
Standard errors Standard
Information Expected
Information saturated (h1) model Structured
Latent Variables:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
drpe =~
acc 0.769 0.053 14.440 0.000 0.769 0.770
goal 0.727 0.054 13.473 0.000 0.727 0.728
imp 0.943 0.050 18.956 0.000 0.943 0.945
amis =~
con 0.808 0.058 13.855 0.000 0.835 0.837
dep 0.730 0.058 12.607 0.000 0.755 0.756
consu 0.477 0.060 7.973 0.000 0.493 0.494
Regressions:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
amis ~
drpe 0.263 0.073 3.614 0.000 0.254 0.254
dmis ~
drpe 0.333 0.060 5.534 0.000 0.333 0.334
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.amis ~~
.dmis 0.431 0.060 7.216 0.000 0.431 0.458
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
drpe 1.000 1.000 1.000
.amis 1.000 0.936 0.936
.acc 0.406 0.045 9.020 0.000 0.406 0.407
.goal 0.468 0.047 9.876 0.000 0.468 0.470
.imp 0.106 0.045 2.385 0.017 0.106 0.107
.con 0.299 0.064 4.690 0.000 0.299 0.300
.dep 0.427 0.060 7.072 0.000 0.427 0.428
.consu 0.753 0.069 10.979 0.000 0.753 0.756
.dmis 0.886 0.075 11.771 0.000 0.886 0.889
R-Square:
Estimate
amis 0.064
acc 0.593
goal 0.530
imp 0.893
con 0.700
dep 0.572
consu 0.244
dmis 0.111
Creiamo un path diagram.
nice_lavaanPlot(fit, stand = TRUE, stars= FALSE, covs = TRUE)
Gli autori esplorano un modello alternativo nel quale le relazioni causali vengono rovesciate: in questo caso è la difficoltà di regolazione delle emozioni positive ad essere la variabile esogena, e l’abuso di sostanze e l’abuso di alcol sono le variabili esogene.
mod_alt <- '
drpe =~ NA*acc + goal + imp
amis =~ NA*con + dep + consu
drpe ~ amis + dmis
dmis ~~ amis
drpe ~~ 1*drpe
amis ~~ 1*amis
'
Adattiamo il modello ai dati.
fit_alt <- sem(mod_alt, sample.cov = dat_cov, sample.nobs = 311)
Esaminiamo i risultati.
summary(fit_alt, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE) |>
print()
lavaan 0.6.16 ended normally after 19 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 16
Number of observations 311
Model Test User Model:
Test statistic 41.844
Degrees of freedom 12
P-value (Chi-square) 0.000
Model Test Baseline Model:
Test statistic 811.802
Degrees of freedom 21
P-value 0.000
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.962
Tucker-Lewis Index (TLI) 0.934
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -2700.544
Loglikelihood unrestricted model (H1) -2679.623
Akaike (AIC) 5433.089
Bayesian (BIC) 5492.925
Sample-size adjusted Bayesian (SABIC) 5442.179
Root Mean Square Error of Approximation:
RMSEA 0.089
90 Percent confidence interval - lower 0.061
90 Percent confidence interval - upper 0.120
P-value H_0: RMSEA <= 0.050 0.014
P-value H_0: RMSEA >= 0.080 0.727
Standardized Root Mean Square Residual:
SRMR 0.046
Parameter Estimates:
Standard errors Standard
Information Expected
Information saturated (h1) model Structured
Latent Variables:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
drpe =~
acc 0.721 0.048 15.117 0.000 0.769 0.770
goal 0.682 0.048 14.097 0.000 0.727 0.728
imp 0.885 0.046 19.287 0.000 0.944 0.945
amis =~
con 0.835 0.057 14.742 0.000 0.835 0.837
dep 0.755 0.057 13.273 0.000 0.755 0.756
consu 0.494 0.059 8.366 0.000 0.494 0.494
Regressions:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
drpe ~
amis 0.123 0.080 1.532 0.125 0.115 0.115
dmis 0.294 0.073 4.030 0.000 0.276 0.276
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
amis ~~
dmis 0.502 0.059 8.521 0.000 0.502 0.503
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.drpe 1.000 0.879 0.879
amis 1.000 1.000 1.000
.acc 0.406 0.043 9.439 0.000 0.406 0.407
.goal 0.468 0.045 10.335 0.000 0.468 0.470
.imp 0.106 0.043 2.496 0.013 0.106 0.107
.con 0.299 0.061 4.908 0.000 0.299 0.300
.dep 0.427 0.058 7.401 0.000 0.427 0.428
.consu 0.753 0.066 11.489 0.000 0.753 0.756
dmis 0.997 0.080 12.470 0.000 0.997 1.000
R-Square:
Estimate
drpe 0.121
acc 0.593
goal 0.530
imp 0.893
con 0.700
dep 0.572
consu 0.244
Creiamo il diagramma di percorso.
nice_lavaanPlot(fit_alt, stand = TRUE, stars= FALSE, covs = TRUE)
In entrambi i casi i risultati replicano quanto riportato dagli autori.